package cn.mrcode.fd.blog.services;

import cn.mrcode.fd.blog.dto.ConQQDto;
import cn.mrcode.fd.blog.dto.RegistDto;
import cn.mrcode.fd.blog.dto.account.RegisterResData;
import cn.mrcode.fd.blog.entity.LoginInfo;
import cn.mrcode.fd.blog.entityCu.UserCu;

import java.util.Set;

/**
 * 账户服务
 *
 * @author : zhuqiang
 * @version : V1.0
 * @date : 2015/12/25 21:13
 */
public interface IAccountService {

    LoginInfo findByAccount(String account);

    LoginInfo findByEmail(String account);

    /**
     * 注册账户
     * @param registDto
     * @return
     */
    RegisterResData register(RegistDto registDto);

    /**
     * qq互联：绑定新账户
     * @param conQQDto
     * @param sysUserId
     * @return 未加密的登录密码
     */
    String insertCon_QQ_1(ConQQDto conQQDto, String sysUserId);

    /**
     * 根据账户获取角色名称集合
     * @param account
     * @return
     */
    Set<String> findRoleNameSet(String account);

    Set<String> findPermissionNameSet(String roleName);

    /**
     * 校验账户是否可以使用
     * @param account
     * @return
     */
    boolean isCanUsed_account(String account);

    UserCu qq_login(String openid);

    String updateCon_QQ_2(ConQQDto conQQDto, String sysUserId);

}
